#ifndef SPLASHSCREEN_H
#define SPLASHSCREEN_H

#include <QSplashScreen>
#include <QProgressBar>
#include <QLabel>
#include <QVBoxLayout>

class SplashScreen : public QSplashScreen
{
    Q_OBJECT

public:
    explicit SplashScreen(const QPixmap& pixmap = QPixmap());
    ~SplashScreen();

    void setProgress(int value, int maximum);
    void showStatusMessage(const QString& message, const Qt::Alignment &alignment = Qt::AlignLeft | Qt::AlignBottom);

protected:
    void drawContents(QPainter *painter) override;

private:
    QWidget *m_content;
    QVBoxLayout *m_layout;
    QLabel *m_statusLabel;
    QProgressBar *m_progressBar;
    QString m_message;
};

#endif // SPLASHSCREEN_H 